亚洲不卡无码在线观看_国产福利在线网址成人_国内精品久久久久伊人AV_国产精品一区无码麻豆

 
技術(shù)博客INFO
聯(lián)系我們CONTACT

公司地址:茂名市人民南路新村大院22號101

電話:13592986386

python關(guān)于操作mongDB數(shù)據(jù)庫您當前的位置:首頁 > python關(guān)于操作mongDB數(shù)據(jù)庫

python關(guān)于操作mongDB數(shù)據(jù)庫

發(fā)布時間:2024/9/3 21:26:10

MongoDB作為一種流行的NoSQL數(shù)據(jù)庫,被廣泛應(yīng)用于各種項目中。Python的mongoengine庫是一個對象文檔映射(ODM)工具,旨在簡化與MongoDB的交互。它提供了類似ORM(對象關(guān)系映射)的功能,使開發(fā)者能夠以面向?qū)ο蟮姆绞讲僮鱉ongoDB中的文檔。本文將詳細介紹mongoengine庫,包括其安裝方法、主要特性、基本和高級功能,以及實際應(yīng)用場景,幫助全面了解并掌握該庫的使用。





1. 以管理員身份運行命令行窗口,使用該命令將MongDB服務(wù)刪除掉

sc delete MongoDB
2. 刪除以后我們自己在data目錄下創(chuàng)建一個db文件夾;log目錄下創(chuàng)建一個MongoDB.log文件,如下:
3. 重新裝一個MongoDB服務(wù)就可以了,在安裝目錄的bin中打開控制臺窗口輸入命令:
mongod --dbpath=F:\mongodb\data\db  --logpath=F:\mongodb\log\MongoDB.log --install --serviceName "MongoDB"
4. 再輸入 net start MongoDB啟動服務(wù)




C:\Program Files\MongoDB\Server\7.0\data\


MongoDB安裝過程中出現(xiàn)service MongoDB failed to start,verify that you have sufficient privileges to start...

打開(services.msc)服務(wù)界面,找到MongoDB Server,右鍵->屬性->登錄,登錄身份選擇本地系統(tǒng)賬戶(L)。



from flask import Flask from flask_mongoengine import MongoEngine from mongoengine import QuerySet, Q




app = Flask(__name__) # app.config.from_object(config)  # 載入config.py中的配置信息 app.config["MONGODB_SETTINGS"] = { 'db': 'data', # 'host': '10.108.45.90',  'host': 'localhost', 'port': 27017,
} # 注冊實例 db = MongoEngine() # 使用dict()函數(shù)創(chuàng)建空字典 class TestMasterModelQuerySet(QuerySet): @property  def testpermission_description(self): """  權(quán)限描述 (可以獲取權(quán)限的屬性名)  :return:  """  desc_dict = dict()
        desc_dict["permission_edit_user_permission"] = { "label": "修改用戶權(quán)限", "order": 0  }
        desc_dict["permission_edit_user_info"] = { "label": "修改用戶信息", "order": 1  }
        desc_dict["permission_edit_process"] = { "label": "修改工藝圖", "order": 2  }

        desc_dict["permission_edit_alarm_threshold"] = { "label": "編輯實時標簽點", "order": 3  }
        desc_dict["permission_edit_deal_alarm"] = { "label": "管理報警", "order": 4  } return desc_dict def testget_user(self, username): """查詢用戶 如果不存在返回None"""  try:
            qs = self.get(username=username) return qs except Exception as e: return None   def testset_user_permission(self, username, permissions): try:
            user = self.testget_user(username)
            permission = self.testpermission_description for k, v in permission.items(): setattr(user, k, True if k in permissions else False)
            user.save() return True  except Exception as e: return False  # 用戶管理 class TestMasterModel(db.Document): """人員表"""  meta = { 'queryset_class': TestMasterModelQuerySet, "collection": "master_model"  }
    username = db.StringField(null=False, unique=False, ) # 用戶名  password = db.StringField(null=False, unique=False, max_length=18, min_length=4) # 密碼  phone = db.StringField(null=True, max_length=11) # 電話  email = db.StringField(null=True) # 郵箱  department = db.StringField(null=True, unique=False, ) # 部門  # 權(quán)限  permission_edit_user_permission = db.BooleanField(default=False) # 編輯用戶權(quán)限  permission_edit_user_info = db.BooleanField(default=False) # 編輯用戶信息  permission_edit_process = db.BooleanField(default=False) # 編輯工藝圖  permission_edit_alarm_threshold = db.BooleanField(default=False) # 編輯報警閾值  permission_edit_deal_alarm = db.BooleanField(default=False) # 處理報警    # 鏈接數(shù)據(jù)庫 db.init_app(app) # 如果你想創(chuàng)建一個用戶實例 # new_user = TestMasterModel(username='root', password='123456',phone='13592986386',email='AAA@qq.com',department='development', #                        permission_edit_user_permission=True,permission_edit_user_info=True,permission_edit_process=True, #                        permission_edit_alarm_threshold=True,permission_edit_deal_alarm=True, #                        ) # new_user.save()  # 保存用戶到數(shù)據(jù)庫   @app.route('/') def index(): # 實例化Model  aaaa= TestMasterModel.objects.testget_user("root") print(aaaa) print(aaaa.password) return 'mongodb demo test finish'  if __name__ == "__main__":
    app.run(debug=True)